package admin

// SchemaResponse 数据库架构响应
type SchemaResponse struct {
	Tables []TableInfoResponse `json:"tables"`
}

// TableInfoResponse 表信息响应
type TableInfoResponse struct {
	SchemaName   string                `json:"schema_name"`
	TableName    string                `json:"table_name"`
	TableComment *string               `json:"table_comment"`
	Columns      []TableColumnResponse `json:"columns"`
}

// TableColumnResponse 表字段响应
type TableColumnResponse struct {
	ColumnName     string  `json:"column_name"`
	ColumnPosition int     `json:"column_position"`
	DataType       string  `json:"data_type"`
	NotNull        bool    `json:"not_null"`
	HasDefault     bool    `json:"has_default"`
	DefaultValue   *string `json:"default_value"`
	ColumnComment  *string `json:"column_comment"`
}

// TableListResponse 表列表响应
type TableListResponse struct {
	Tables []TableBasicInfo `json:"tables"`
}

// TableBasicInfo 基本表信息
type TableBasicInfo struct {
	SchemaName   string  `json:"schema_name"`
	TableName    string  `json:"table_name"`
	TableComment *string `json:"table_comment"`
}
